#include "Factorial.h"


using namespace std;



int main(){
	char opcionSeleccionada;
	bool stop=false;

	while(!stop){
		opcionSeleccionada=mostrarMenu();
		system("cls");
		if(opcionSeleccionada=='1'){
			iniciarFactorial();
		}else if(opcionSeleccionada=='2')
			iniciarSalario();
		else stop=true;
		
	}

	//startFactorial();
	return 0;
}
/* ****************************************************************************** */
//Muestra el menu general de la aplicacion
char mostrarMenu(){
	char option=3;//contiene la opcion seleccionada

	cout << "Seleccione una opcion \n";
	cout << "1. Calculo de factorial \n";
	cout << "2. Calculo de Salario \n";
	cout << "Presione cualquier otra tecla para salir \n";
	cin>>option;//Lee la opcion ingresada por el usuario y la guarda	
	
	if(option!='2' && option!= '1')//si la opcion no es 2 ni 1 entonces asigna 3 a la variable
		option='3';

return option;
}

/* ****************************************************************************** */
//Maneja la interfaz del calculo del factorial
void iniciarFactorial(){
	int factorial;
	int number=0;
	string input;
	cout << "Calculo de Factorial: \n";
	cout << "Ingresa un numero natural: \n";
	cin>>input;	

	while(atoi(input.c_str()) <=0 ){//validacion del numero ingresado
		cout << "Numero invalido, ingresa un numero natural valido: \n";
		cin>>input;
	}
	number=atoi(input.c_str());
	
	factorial=calcularFactorial(number);
	cout << "\nEl factorial de " << number << " es: " << factorial << "\n\n";

}
/* ****************************************************************************** */
//Calculo del factorial
int calcularFactorial(int number){
	int factorial=1;//se inicia el factorial en 1

	for(int i=1;i<=number;i++){
		factorial*=i;
		}
	return factorial;
}
/* ****************************************************************************** */

void iniciarSalario(){

	cout << "Calculo de Salario: \n";
}


double calcularSalario(){

	double salarioBase=0;
	int anualidades=0;
	int disponiblidad=0;
	int carreraProfesional=0;


	return 0;
}